什麼是Spring Boot?
Spring Boot是Spring開源組織下的子項目,是Spring組件一站式解決方案,主要是簡化了使用Spring的困難,簡省了繁重的配置,提供了各種啟動器,開發者能快速上手。
官方網站:http://projects.spring.io/spring-boot/
GitHub原始碼:https://github.com/spring-projects/spring-boot
彈簧靴的優點
特徵
創建獨立的Spring應用程序
直接嵌入Tomcat,Jetty或Undertow(無需部署WAR文件)
提供自以為是的“入門” POM,以簡化您的Maven配置
盡可能自動配置Spring
提供生產就緒的功能,例如指標,運行狀況檢查和外部配置
完全沒有代碼生成,也不需要XML配置
-
獨立運行
Spring Boot而且內嵌了各種servlet容器,Tomcat,Jetty等,現在不再需要打成war包部署到容器中,Spring Boot只要打成一個替換的jar包就可以獨立運行,所有的依賴包都在一個罐包內。
-
簡化配置
spring-boot-starter-web啟動器自動依賴其他組件,簡少了maven的配置。
-
+- org.springframework.boot:spring-boot-starter-web:jar:1.5.6.RELEASE:compile
-
+- org.springframework.boot:spring-boot-starter-tomcat:jar:1.5.6.RELEASE:compile
-
| +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.16:compile
-
| +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.16:compile
-
| \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.16:compile
-
+- org.hibernate:hibernate-validator:jar:5.3.5.Final:compile
-
| +- javax.validation:validation-api:jar:1.1.0.Final:compile
-
| +- org.jboss.logging:jboss-logging:jar:3.3.1.Final:compile
-
| \- com.fasterxml:classmate:jar:1.3.3:compile
-
\- org.springframework:spring-webmvc:jar:4.3.10.RELEASE:compile
-
自動配置
Spring Boot能根據當前類路徑下的類,jar包來自動配置bean,如添加一個spring-boot-starter-web啟動器可以擁有web的功能,無需其他配置。
-
無代碼生成和XML配置
Spring Boot配置過程中無代碼生成,也無需XML配置文件即可完成所有配置工作,這一切都是嵌套條件註解完成的,這也是Spring4.x的核心功能之一。
-
應用監控
Spring Boot提供雙向端點可以監控服務及應用,做健康檢測。
Spring Boot的缺點
Spring Boot雖然上手很容易,但如果你不了解其核心技術及流程,所以一旦遇到問題就很棘手,而且現在的解決方案也不是很多,需要一個完善的過程。